The network-layer protocol associated with the Internet is appropriately called the Internet Protocol (IP). In general, the IP connects the various networks and subnetworks which make up the Internet by defining, among other things, the rules and procedures which govern the way IP data packets are routed from a source node to a destination node. To ensure that IP data packets are correctly routed, every node is assigned an IP address, wherein the IP address defines a fixed network location associated with a correspondent node. While IP adequately handles the routing of data between fixed network nodes, it does not adequately handle the routing of IP data packets to and/or from mobile nodes.
In contrast, the Mobile Internet Protocol (i.e., Mobile IP) was designed to specifically handle the routing of IP data packets to and/or from mobile nodes (i.e., mobile terminals which frequently change their point-of-attachment to the Internet). Moreover, Mobile IP was designed to handle the routing of IP data packets to and/or from mobile nodes without significantly interrupting on-going communications and without requiring mobile nodes to restart applications.
Mobile IP supports mobility, in part, by assigning two IP addresses to each mobile node, herein referred to as mobile terminals. The first of these IP addresses is known as the home address. The home address is a permanent IP address, and it is associated with a mobile terminal's point-of-attachment in the mobile terminal's home network. The second IP address is called the care-of-address. The care-of-address is assigned to a mobile node when the mobile node moves and attaches to a foreign network. Unlike the mobile terminal's home address, the care-of address is a temporary address. The care-of address is a temporary address because it changes whenever the mobile node undergoes a handover procedure from one point-of-attachment to another in a foreign network.
Presently, there are two versions of Mobile IP that have been proposed by the Internet Engineering Task Force (IETF): Mobile IP version 4 (MIPv4) and Mobile IP version 6 (MIPv6). FIG. 1 illustrates a conventional IPv4 network. The IPv4 network illustrated in FIG. 1 includes a mobile node 105, foreign agents 120, 125 and 130, a gateway foreign agent 135, the Internet 140, home agent 145 and correspondent node 155. To access correspondent node 155 through Internet 140, mobile node 105 attaches to a foreign agent. In mobile IP the access router may be co-located with a radio access point, although this need not be the case. When mobile node 105 is in an area of coverage of foreign agent 120, mobile node 105 attaches to foreign agent 120. The mobile node then sends a registration request to home agent 145 which indicates the current care-of-address of mobile node 105, which in this case is foreign agent 120. The registration request is sent from the mobile node 104 through foreign agents 120 and 130, gateway foreign agent 135 and Internet 140.
After the mobile node registers its new care-of address with home agent 145, the home agent is able to serve as a proxy for mobile node 105. Accordingly, IP data packets from correspondent node 155 which are addressed to the mobile node 105 (i.e., the mobile terminal's home address) will be intercepted by the home agent 145. The home agent 145 then encapsulates the IP data packet so that the destination address reflects the mobile terminal's care-of-address, i.e., the address of foreign agent 120. The data packet is then sent from the home agent 145 to the foreign agent 120. When the IP data packet arrives at foreign agent 120, the IP data packet is retransformed or de-capsulated by stripping away the external IP header so that the mobile node's home address once again appears as the destination address. The IP data packet can then be delivered to the mobile node, wherein the data contained therein can be processed by the appropriate higher level protocols (e.g., TCP or UDP), as one skilled in the art will readily appreciate.
There are a number of drawbacks associated with MIPv4. For example, network nodes generally have no way of knowing whether another node is a mobile node. Accordingly, if they wish to send IP data packets to another node, they must always do so by indirectly sending IP data packets through the other node's home address, as explained above. This indirect routing of IP data packets adds delay to the IP data packet routing process, wherein excessive delay can be extremely detrimental to delay-sensitive applications, such as voice applications. In addition, care-of-address allocation is often problematic due to the limited number of available care-of-addresses.
MIPv6 includes several features that were designed to overcome some of the deficiencies associated with MIPv4. One such feature, for example, is called route optimization. FIG. 2 illustrates an exemplary MIPv6 network. The MIPv6 network of FIG. 2 includes mobile node 205, access routers 210, 215, 220, 230 and 250, correspondent nodes 225 and 235, home agent 245, and Internet 240. It will be recognized that nodes 225 and 235 are referred to as correspondent nodes since they are communicating with the mobile node 205. In accordance with the route optimization feature, MIPv6 compatible nodes, e.g., correspondent nodes 225 and 235 and home agent 245, maintain a list which provides a mapping between a home address of mobile node 205 and a corresponding care-of-address for mobile node 205. This list is maintained in, what is referred to as, a binding cache. If mobile node 205 changes its point of attachment from access router 210 to access router 215, it sends a binding update message to home agent 245 and correspondent nodes 225 and 235. Upon receiving the binding update message, home agent 245 and correspondent nodes 225 and 235 use the information contained in the binding update message to update their binding cache. Correspondent nodes 225 and 235 are then able to send IP data packets directly to the mobile node 205 (i.e., to the mobile terminal's care-of-address) without first having to route the IP data packets through the mobile terminal's home agent 245. As one skilled in the art will readily appreciate, route optimization is intended to reduce IP data packet routing delay times.
Despite numerous improvements over MIPv4, MIPv6 still exhibits numerous other deficiencies. One such deficiency is the lack of a hierarchical mobility management structure. A hierarchical mobility management structure can reduce signalling delay when a mobile node changes point of attachment. The reduced signalling delay results in faster handoffs from one point of attachment to the next point of attachment. For example, referring now to the MIPv4 network illustrated in FIG. 1, assume that mobile node 105 uses the Gateway Foreign Agent 135 as a global care-of-address which the mobile node has in its binding cache. Accordingly, mobile node 105 can change its point of attachment from foreign agent 120 to foreign agent 125 without having to send a binding update. In comparison, referring now to the MIPv6 scenario illustrated in FIG. 2, when mobile node 205 changes its point of attachment from access router 210 to access router 215, mobile node 205 must send binding updates to correspondent nodes 225 and 235 and to home agent 245.
U.S. patent application Ser. No. 09/264,860 “Multicast Hanover For Mobile Internet Protocol” filed on Mar. 9, 1999, which is herein expressly incorporated by reference, describes one method of providing a hierarchical mobility management structure in a MIPv6 compatible system. This patent application describes a hierarchical system which uses a mobility management agent (MMA) and multicasting to provide a more efficient intra-domain handoff. However, this system requires all networks to include IP multicast routing protocols. Furthermore, multicast routing can be very bandwidth inefficient which adds significant cost and reduces the network throughput.
Another hierarchical mobility management structure in a MIPv6 compatible system includes a number of mobility agents on different levels of the network hierarchy. Each mobility agent essentially performs the functions of a home agent as described in MIPv6. Each mobility agent has a pool of Virtual Care of Addresses (VCOA). When a mobile node enters a domain which includes a mobility agent, the mobile node acquires a number of VCOAs. The mobile node registers with each mobility agent using its VCOA. When a packet is sent to the mobile node from a correspondent node, the packet arrives at the top level mobility agent. The top level mobility agent will encapsulate the packet to the next mobility agent below it in the hierarchy which will then decapsulate the packet and encapsulate the packet again and pass it down to the next mobility agent in the hierarchy. This process is repeated until the packet reaches the mobile node. Using this hierarchical structure the hierarchical functionality of MIPv4 is effectively mapped onto the MIPv6 environment. However, due to the requirement that each mobility agent must decapsulate and encapsulate each packet a significant delay can be added to the arrival time. Further, the assignment of a number of VCOAs is inefficient in terms of address allocation management since the allocated addresses are of little use to the mobile node. In addition, tunneling the packets between the mobility agents blocks the use of standard routing protocols and optimum routing of the packets may not be achieved.
Accordingly, it would be desirable to provide hierarchical mobility management for wireless networks. It would also be desirable to provide hierarchical mobility management for networks which operate in accordance with MIPv6.